home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / bined101.zip / BINED.DOC < prev    next >
Text File  |  1991-01-13  |  23KB  |  537 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.                                       Bined",
  17.  
  18.                               The Binary File Editor",
  19.  
  20.                       (c) Copyright 1990 by Martin Hampford",
  21.  
  22.                               Version 1.01  (1-11-90)",
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.                                Table of Contents
  33.  
  34.  
  35.                    Purpose.............................1
  36.                    Packing List........................1
  37.                    System Requirements.................1
  38.                    Command Line Arguments..............2,3
  39.                    Init File & Environment Variables...3
  40.                    Structure Definition File Format....4
  41.                    User Interface......................5
  42.                    Search/Replace Features.............6
  43.                    First Time Users....................6
  44.                    Edit Screen Directions..............7
  45.                    Bug Reporting.......................7
  46.                    Technical Specs.....................7
  47.                    Disclaimer..........................8
  48.                    Shareware Notice....................8
  49.  
  50.                            ┌────────────────────┐
  51.                            │ Bined User's Guide │                      1
  52.                            └────────────────────┘
  53.  
  54.           Purpose
  55.           -------
  56.  
  57.           Bined (which stands for BINary EDitor) provides quick and easy
  58.           modification of binary (or combined binary & text) data files,
  59.           during system development.  Other features include:
  60.  
  61.                o Allows editing of binary data fields in a file at the
  62.                  bit level (or alternately Decimal, Hex, or Octal).
  63.  
  64.                o Allows searching/replacing for Binary values in a data file.
  65.  
  66.                o Allows for quick creation of data files before
  67.                  your application code has been written or tested.
  68.  
  69.                o Allows programmers to check the validity of data created
  70.                  during program development/testing.
  71.  
  72.                o Allows for altering data files to test a programs'
  73.                  error trapping.
  74.  
  75.  
  76.           Bined was written when a project I was working on kept under-
  77.           going changes in the file structures at an almost ludicrous
  78.           pace.  I got sick of throwing away all of my old test data
  79.           and re-compiling the rudimentary data file creator that had
  80.           been written.
  81.  
  82.           !!WARNING!!
  83.  
  84.           Please be warned that Bined does not make any assumptions about
  85.           the data it is editing so if you use Bined to change the key field
  86.           data of an indexed file, it is up to the user to run any reindex-
  87.           ing utilities.  Also Bined can obviously not do error checking on
  88.           the data that is altered or entered so be aware of potential
  89.           problems with your application program if invalid data is entered.
  90.  
  91.  
  92.           Packing List (.zip file)
  93.           ------------------------
  94.  
  95.             BINED.EXE               Bined Executable
  96.             BINED.DOC               This Document
  97.             BINED.INI               Contains Default Colors
  98.             BINEDINI.IFS            initialization files' file structure
  99.  
  100.           System Requirements
  101.           -------------------
  102.  
  103.           Bined was written for IBM PC/XT/AT, PS/2 and compatibles.
  104.           Bined has been tested under DOS 3.1, 3.2, 3.3, 4.01 and
  105.           the DOS Compatibility boxes in OS/2 1.1 and 1.2.
  106.           The lowest memory configuration tested has been 512K so that
  107.           is the minimum requirement though I don't anicipate any problems
  108.           on machines with less memory.  In most cases this shouldn't be a
  109.           problem because most developers have a configuration that exceeds
  110.           this and Bined is not intended for use except by programmers.
  111.  
  112.  
  113.                            ┌────────────────────┐
  114.                            │ Bined User's Guide │                      2
  115.                            └────────────────────┘
  116.  
  117.  
  118.  
  119.           Command Line Arguments
  120.           ----------------------
  121.  
  122.           Bined can be invoked with no arguments, which will put the user
  123.           directly into Edit mode editing the last data file loaded. The
  124.           1st invocation of Bined will bring the user to the File Menu.
  125.           Arguments may appear in any order as long as they are seperated
  126.           by spaces.  The valid arguments allowed are described below and
  127.           can be preceded by either a backslash (/) or a dash (-) and can
  128.           appear in any order on the command line:
  129.  
  130.  
  131.             o /25 Starts Bined in 25 line mode if the current video state
  132.                   is 43 or 50 line mode.
  133.  
  134.             o /43 or /50  Starts bined using the 8x8 font available in the
  135.                           EGA or VGA adaptor.
  136.  
  137.             o /L suppresses display of Bineds' Logo Screen.
  138.  
  139.             o /C tells Bined to skip the Record Count calculation.
  140.                  This calculation ensures that the file size has no
  141.                  remainder when if is divided by the record size.
  142.                  This is done to count the number of records in the file.
  143.                  The /C parameter tells bined that the file is paged or
  144.                  extended in chunks that are not a modulus of the file size
  145.                  (C-tree and Btrieve are examples of data bases that
  146.                  can extend a data file by a variable page size).
  147.  
  148.                  Be warned when attempting to read the last record of a
  149.                  file extended in pages because you will get an error
  150.                  message stating that there was a problem reading the
  151.                  last (partial) record (or slack data area), but you will
  152.                  be allowed to edit and save it which will extend the
  153.                  length of the file to a multiple of the record size.
  154.  
  155.             o /S tells bined to load a structure file.  There should be
  156.                  no space between the /s and the filename (which can include
  157.                  a drive and path qualifier).  If no filename extension is
  158.                  present the default of ".ifs" is used.
  159.  
  160.                  ex. bined /s\util\binedini
  161.  
  162.             o /D tells bined to load a data file.  If no structure file has
  163.                  been specified with the /S parameter the data file will
  164.                  NOT be loaded.  Of course a Drive & Path can be included.
  165.                  If no filename extension is supplied then the default
  166.                  specified in the bined init file (BINED.INI) is used.
  167.                  More on BINED.INI later.
  168.  
  169.                  ex. bined /s\util\binedini /d\init\bined.bak
  170.  
  171.  
  172.                            ┌────────────────────┐
  173.                            │ Bined User's Guide │                      3
  174.                            └────────────────────┘
  175.  
  176.           Command Line Arguments (cont.)
  177.           ------------------------------
  178.  
  179.             o /N tells Bined NOT to automatically load the last data
  180.                  and structure files.  This switch should be used when
  181.                  you wish to create a new structure and/or data file.
  182.  
  183.             o +<filename> loads both the structure file and the data file
  184.                           associated with the given filename which must
  185.                           NOT have a filename extension.  If both files
  186.                           are loaded OK the user will find themselves
  187.                           directly in EDIT mode.
  188.  
  189.                  ex. bined +order    - loads order.ifs & order.dat from the
  190.                                        current directory.
  191.  
  192.             o ? will display the valid command line arguments and a brief
  193.                 summary of each one.
  194.  
  195.  
  196.           BINED.INI & the Init Environment Variable
  197.           -----------------------------------------
  198.  
  199.           Bined will look for (and create it if it doesn't exist) an
  200.           initialization file in the directory specified in the INIT
  201.           environment variable.  If there is no INIT environment variable,
  202.           the BINED.INI file will be created in the current directory.
  203.           
  204.           If Bined finds the file BINED.INI in either the INIT directory
  205.           or the current directory it will load the last structure and data
  206.           file edited (unless another structure or data file is specified
  207.           on the command line) and will put you directly into EDIT mode.
  208.  
  209.           The INIT directory is searched before the current directory.
  210.  
  211.           The BINED.INI file is a binary file that contains:
  212.           
  213.             o The names of the last data & structure files used.
  214.             o Last record edited.
  215.             o The last print device printed to.
  216.             o Bined colors.
  217.             o Default extensions for the structure file.
  218.             o Current Edit base
  219.             o Floating point precision value.
  220.  
  221.           The BINED.INI file can be edited with the BINEDINI.IFS structure
  222.           file supplied with the BINED zip file.
  223.  
  224.           Remember to edit a COPY of the .INI file and then copy it into
  225.           the directory specified by the INIT environment variable or over
  226.           the .INI in the current directory.
  227.  
  228.                            ┌────────────────────┐
  229.                            │ Bined User's Guide │                      4
  230.                            └────────────────────┘
  231.  
  232.  
  233.  
  234.           Structure/Record Definition File
  235.           --------------------------------
  236.  
  237.           Bined uses a straight ASCII file to store its file structures in.
  238.           The default extension for these files is ".ifs" though you can load
  239.           any file as the definition file so long as it follows the format
  240.           described below.  (Please understand that this information is
  241.           supplied so that you may create the Bined structure definition
  242.           file in your preferred text editor or using COPY CON:, as opposed
  243.           to using the EDIT->STRUCTURE Submenu function).
  244.  
  245.  
  246.              Hdr/Rec Specifier (H/R)
  247.              │
  248.              │             Data Type         Size (if type    Data Name
  249.              │┌────────────┘ (CSHIULNFDAZ)   │     is A/Z)    │(23 chars max)
  250.              ││                              │                │
  251.              ││┌┬┬───────────────────────────┘                │
  252.              │││││┌───────────────────────────────────────────┘
  253.              RA003last_name\r\n
  254.  
  255.  
  256.             o Bined supports files that contain a Header, so the 1st byte
  257.               on the line MUST be either an 'H' or a 'R' in uppercase.
  258.  
  259.               It doesn't matter if the Header or Record is defined 1st as
  260.               long as all members of the header or record being defined
  261.               are adjacent and in the order that the record is to be
  262.               edited in.
  263.  
  264.               This means you CANNOT have a definition as shown below:
  265.  
  266.                  RA030last_name\r\n
  267.                  HLzip_code\r\n  <------- this member is part of the header.
  268.                  RA020first_name\r\n                (!WRONG!)
  269.                  RIcount\r\n
  270.  
  271.               Note that binary type fields have no size parameter because
  272.               their size is known implicitly.
  273.  
  274.               All record members must be adjacent to each other.
  275.               All header members must be adjacent to each other.
  276.  
  277.               Since Bined was written in C for C programmers it supports
  278.               the C data types which match up with their type specifier
  279.               below:
  280.  
  281.                  Bined
  282.                  Type
  283.                  Specifier  Data Type         Length
  284.                  ---------  ---------         ------
  285.  
  286.                  C          character         1 Byte
  287.                  S          short             2 Bytes
  288.                  H          unsigned short    2 Bytes
  289.                  I          integer           2 Bytes
  290.                  U          unsigned int      2 Bytes
  291.                  L          long              4 Bytes
  292.                  N          unsigned long     4 Bytes
  293.                  F          float             4 Bytes
  294.                  D          double            8 Bytes
  295.                  E          long double      10 Bytes
  296.                  A          char array        2 to 512 Bytes
  297.                  Z*         char Z-array      2 to 512 Bytes Padded with NULLs
  298.  
  299.  
  300.                * For ASCIIZ Arrays; Only the field size - 1 will be allowed
  301.                  to be edited so the last character will be forced to a NULL.
  302.  
  303.                o '*' the asterisk can be used to put comments in the structure
  304.                      file.  It MUST be the 1st character on the line and
  305.                      the comments should not be larger than 120 characters
  306.                      per line.
  307.  
  308.                o Note that the size field for char arrays & z-arrays MUST
  309.                  be 3 digits long with leading zeros included as
  310.                  illustrated above.
  311.  
  312.  
  313.                The file BINEDINI.IFS is supplied as both an example
  314.                file structure and to allow the changing of Bineds colors
  315.                and other defaults.  Do Not change any of the other fields
  316.                unless their usage is obvious (i.e. defualt extension,
  317.                last data & structure files).
  318.  
  319.                Any fields not filled in will be padded with NULLs.
  320.  
  321.                            ┌────────────────────┐
  322.                            │ Bined User's Guide │                      5
  323.                            └────────────────────┘
  324.  
  325.           User Interface
  326.           --------------
  327.  
  328.           Menus
  329.           -----
  330.  
  331.             Menus can be navigated using the following keys:
  332.  
  333.                Home   - First Menu Option
  334.                End    - Last Menu Option
  335.                Return - Selects the Currently Hilited Option
  336.  
  337.             or type the hilited hot key to select an option.
  338.  
  339.  
  340.           Dialogues
  341.           ---------
  342.  
  343.             The TAB/SHIFT-TAB key shifts the input focus in a dialogue box.
  344.  
  345.             Hilited hot keys are active only when the focus is on a Command
  346.             Button, List Box, Check Box [X] or Radio Button ().  If the
  347.             focus is in a Text input field the hot keys are inactive.
  348.  
  349.  
  350.           List Boxes
  351.           ----------
  352.  
  353.              The active movement keys in a list box are:
  354.  
  355.                Home   - Moves to the Top of the List
  356.                End    - Moves to the Bottom of the List
  357.                PgUp   - Moves back 1 page
  358.                PgDn   - Moves down 1 page
  359.                Return - Selects the current list member (except in the
  360.                         Structure Edit List Box where a Command Button
  361.                         must be used for edit actions)
  362.  
  363.              also any 'Hot Keyed' Commands in a dialogue box (see Dialogues
  364.              above).
  365.  
  366.  
  367.           Fields
  368.           ______
  369.  
  370.             Field edit keys are as follows:
  371.  
  372.                TAB or Down       - Next Member/Field
  373.                Shift-TAB or Up   - Previous Member/Field
  374.                Home              - Goes to the Beginning of Field
  375.                End               - Goes to the End of Field (Last Character)
  376.                Ctrl-End          - Deletes chars from cursor to end of field
  377.                BackSpace         - Delete character in front of cursor
  378.                Delete            - Deletes character under cursor.
  379.  
  380.  
  381.           Escape can be used to exit any field window, dialogue box or menu
  382.           (except the Action/System/Main Menu, or whatever you'd like to call
  383.           it where you must select FILE->EXIT).
  384.  
  385.                            ┌────────────────────┐
  386.                            │ Bined User's Guide │                      6
  387.                            └────────────────────┘
  388.  
  389.           Search/Search & Replace Features
  390.           --------------------------------
  391.  
  392.             One of Bineds' biggest assets is to search or search & replace
  393.             a file for either text or binary data.
  394.  
  395.             To activate the Search option use Alt-S while in the Edit
  396.             screen.  A dialogue box will pop up asking for the field to
  397.             search on, the data to search for and the (optional) range
  398.             to search (or the whole file).  Hit G for GO in any of the
  399.             Radio button or Check Box fields (or hilite it using the TAB
  400.             key).
  401.  
  402.             Alt-R will activate the Search & Replace Dialogue Box similiar
  403.             to the Search dialogue box.  The only difference is you can
  404.             now access the replacement text field.
  405.  
  406.             Please note that some floating point searches could fail if
  407.             you enter less digits in the search field than the number of
  408.             digits the number was stored with or if the number cannot be
  409.             represented exactly in IEEE floating point format (like .01).
  410.  
  411.           Edit Screen Instructions
  412.           ------------------------
  413.  
  414.             During editing of data fields you must hit RETURN to save
  415.             the changed field to memory.  Do NOT enter your data and then
  416.             hit a direction key (Tab, Shift-Tab, Up or Down) because this
  417.             will restore the original data to the field.  Also remember to
  418.             save any changed records with the F5 key before you read
  419.             another record using F3 or F4 or before exiting the program.
  420.             Bined only operates on 1 record at a time so changes made to
  421.             a record will be overwritten in memory by the newly read record.
  422.  
  423.             With the BINED.INI init file zipped with the program, data
  424.             editable at bit level binary (chars - unsigned longs) are
  425.             displayed in green foreground & blue background.  Floats -
  426.             long doubles are displayed in bright yellow foreground.
  427.             Strings/text fields are displayed in bright white on a
  428.             blue background.
  429.  
  430.             F1 will provide a brief description of the valid function keys.
  431.             F2 allows modification of the files structure.
  432.             F3 moves to the previous record
  433.             F4 moves to the next record
  434.             F5 saves the record to disk
  435.             F6 toggles between editing records & appending records
  436.             F7 prompts for a record to goto/edit.
  437.             F8 changes the current Edit base for chars - unsigned longs.
  438.             F9 toggles between the editing the header or records.
  439.             F10 Exits to DOS
  440.  
  441.             Alt-R - pops up the Search and Replace Dialogue Box
  442.             Alt-S - pops up the Search Dialogue Box
  443.             Alt-D - prompts for the display precision for floats - doubles.
  444.             Alt-P - prints the current record/header.
  445.  
  446.  
  447.                            ┌────────────────────┐
  448.                            │ Bined User's Guide │                      7
  449.                            └────────────────────┘
  450.  
  451.             Other Valid Navigation Keys are:
  452.  
  453.                Page Up           - Moves Up 1 Page of Members
  454.                Page Down         - Moves Down 1 Page of Members
  455.                TAB or Down       - Next Member/Field
  456.                Shift-TAB or Up   - Previous Member/Field
  457.                Home              - Goes to Beginning of Field
  458.                End               - Goes to End of Field (Last Character)
  459.                Ctrl-End          - Deletes chars from cursor to end of field
  460.                BackSpace         - Delete character in front of cursor
  461.                Delete            - Deletes character under cursor.
  462.  
  463.           First Time Users
  464.           ----------------
  465.  
  466.             When you receive the zip file, unzip it into a directory and
  467.             run the program.  The .INI supplied will automatically load
  468.             the BINEDINI.IFS and the BINED.INI data file.  Note the function
  469.             keys listed on the bottom row.  F10 exits to DOS.  Remember to
  470.             edit a copy of the .INI file because it will be saved over your
  471.             just edited copy when BINED terminates.
  472.  
  473.           Bugs
  474.           ----
  475.  
  476.             Every effort has been made to ensure data integrity,
  477.             (including a 9-month beta test site at my old job! (and my new
  478.             one for that matter).  But like any complicated software, bugs
  479.             can pop up.
  480.  
  481.             Please report any bugs in Bined to me at the address/phone below
  482.             or leave me mail at my Compuserve ID below.  This also applies
  483.             to any comments or questions you might have regarding Bined.
  484.  
  485.           Technical Specs/Assistance
  486.           --------------------------
  487.  
  488.             BINED v1.00 - Designed and Coded by
  489.           
  490.             Martin M. Hampford
  491.             30 Stevens St. #311
  492.             Bridgeport, CT  06606
  493.  
  494.             Voice: (203) 374-0327         Compuserve User ID:  76635,3241
  495.              Data: (203) 374-7498
  496.   
  497.             Thanks to David Welch and Karl Bockley for their suggestions and
  498.             help in testing Bined in it's pre-release/beta test stages.
  499.  
  500.             Bined was written using BRIEF v2.1, 2.5 and 3.0 starting under
  501.             DOS 3.3 and finished under OS/2 1.2.
  502.  
  503.             The compiler used was Microsoft C 5.1 and 6.0/6.0a and a couple
  504.             of low-level keyboard routines in 8086 Assembler assembled with
  505.             Microsoft MASM 5.1.
  506.  
  507.             NO 3RD PARTY LIBRARIES WERE USED TO IN THE CREATION OF THIS
  508.             SOFTWARE.
  509.  
  510.                            ┌────────────────────┐
  511.                            │ Bined User's Guide │                      8
  512.                            └────────────────────┘
  513.  
  514.           Disclaimer
  515.           ----------
  516.  
  517.           Bined is supplied AS IS.  In NO event will I be liable to you
  518.           for any damages arising from the use of this program.  The
  519.           user assumes sole responsibility for the correct use of the
  520.           program.
  521.  
  522.  
  523.           Shareware Notification
  524.           ----------------------
  525.  
  526.           Bined is shareware.  You are granted a license to use the program
  527.           for evaluation purposes only and for a period of no more than
  528.           30 days.  If this program meets your needs, a registration fee of
  529.           $25 is requested.  This will also ensure you are notified for
  530.           future releases of Bined.
  531.  
  532.  
  533.  
  534.                                    End
  535.  
  536.                                    --
  537.